Field of the Invention
The present invention relates generally to three-dimensional (3D) computer graphics and, more specifically, to robust attribute transfer for character animation.
Description of the Related Art
Among other things, computer animation involves designing and creating animated characters for use in various computer games and films. Typically, each animated character includes a joint hierarchy, a geometric object, and a set of controllers and constraints that define the rig of the character. The joint hierarchy, also referred to herein as a “skeleton,” defines the bones and related structure of the animated character and how the bones are connected to one another. The geometric object defines the skin of the character and gives the animated character a unique appearance. Typically, the geometric object consists of a 3D mesh of geometry primitives, such as triangles, although other types of geometric objects can be specified. Accordingly, the geometric object is also referred to herein as a “mesh representation.” The rig allows an animator to pose and move the character during animation. The animated character also includes skinning weights that define how the geometric object corresponding to the skin of the character is bound to or attaches to the rig. To create multiple characters for a game or film, computer animation artists create a joint hierarchy, geometric object, rig, and skinning weights separately for each separate animated character.
One drawback to the above approach is that generating animated characters for any given application, such as a game or a film, is time consuming and tedious because each character has to be designed separately. This problem is substantially exacerbated in applications involving hundreds or thousands of different characters. For example, to create a crowd of one hundred animated characters, a computer animation artist would have to create a separate joint hierarchy, geometric object, rig, and set of skinning weights for each of the one hundred animated characters. Again, such manual techniques are both time consuming and tedious, resulting in increased costs and delays.
One potential solution is to create a common geometric object used by each character, sculpted to have a unique appearance, and to apply the same common joint hierarchy, rig, and set of skinning weights across the different sculpted geometric objects. Such an approach could be more efficient in that the computer animation artist would not need to create a unique joint hierarchy, rig, and set of skinning weights for each separate character. However, such an approach arguably restricts the geometric object to be of the same topology for all characters. Otherwise, the common joint hierarchy, rig, and set of skinning weights being applied across the geometric objects would not “fit” properly. With these limitations, computer animation artists would be constrained in generating desired appearances for the animation characters being designed, which would hinder overall artistic freedom and reduce the overall visual quality of applications.
As the foregoing illustrates, what is needed in the art are more effective ways to design animated characters.